<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>


<script>
//    function fn(x,y) {
//
//    }
    //箭头函数都是匿名函数

//    let fn=(形参)=>{函数体}
//     形参只有一个的时候可以省略（）
//    假如函数体只有一行代码  return 可以省略{}和return
    let fn = x=>x+1
//    let fn = x =>{return  x+1}

    //通常函数当做参数的时候用箭头函数
    let ary=["广告",1,2,3,4];
    console.log(ary.filter(item =>typeof  item == "number"))
    //注意箭头函数的特点
    //1.箭头函数没有this指向  里面的this时尚以及作用域下的this

    let obj ={
        fn:function () {
            let f=()=>{
                console.log(this)
            }
            f()
        }
    }
    obj.fn();

    //2.箭头函数没有arguments
    let f1=(...arg)=>{
//        console.log(arguments);  //arguments is not denfined
        console.log(...arg)
    }
    f1(1,2,3,4)


    //3.箭头函数不可以用做构造函数  因为不可以使用new执行
    function ff() {

    }
    new ff()  //创建一个实例

    let fff=()=>{}

    new fff()

</script>
</body>
</html>